package com.wyix;

import com.wyix.aop.LogHandler;
import com.wyix.service.UserService;
import com.wyix.service.impl.UserServiceImpl;

import java.lang.reflect.Proxy;

/**
 * @author wangdx
 * @since 2025/8/6
 */
public class JdkProxyTest {
    public static void main(String[] args) {
        // 创建目标对象
        UserService target = new UserServiceImpl();

        // 创建代理对象
        UserService proxy = (UserService) Proxy.newProxyInstance(
                UserService.class.getClassLoader(),
                new Class[]{UserService.class}, // 必须是接口
                new LogHandler(target)
        );

        // 调用代理对象方法（会被LogHandler拦截）
        proxy.addUser("张三");
    }
}
